﻿ using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.IO;
using Microsoft.Security.Application;

namespace InhollandAirPortal {
   public enum MessageType { MessageType_Unknown = 0, MessageType_Alert = 10, MessageType_Error = 20, MessageType_Success = 30};

   public class MessageText {
		 // Messages om te printen
     public static string Message_AlgemeneFout { get { return "<p>Er is iets fout gegaan, probeer het later nog eens</p>"; } }
		 public static string Message_NietGenoegMiles { get { return "<p>U heeft niet genoeg miles om deze reis aan te schaffen</p>"; } }
		 public static string Message_GeenReizenOpDatum { get { return "<p>Er zijn geen reizen gevonden op de geselcteerde datum</p>"; } }
		 public static string Message_ReisDatumIsAlGeweest { get { return "<p>U kunt deze reis niet boeken, reisdatum is al verstreken</p>"; } }
		 public static string Message_BoekingGeslaagd { get { return "<p>De boeking is geslaagd</p>"; } }
		 public static string Message_FoutBijBoeken { get { return "<p>Er is iets fout gegaan bij het boeken</p>"; } }
		 public static string Message_GeenGeldigeUser { get { return "<p>Er is geen (geldige) user gevonden</p>"; } }
		 public static string Message_ReiscodeOngelidig { get { return "<p>Er is geen (geldige) reiscode gevonden</p>"; } }
		 public static string Message_BoekingscodeOngelidig { get { return "<p>Er is geen (geldige) reiscode gevonden</p>"; } }
		 public static string Message_ReisNietGeboektDoorUser { get { return "<p>U heeft deze reis niet geboekt en kunt deze ook niet annuleren</p>"; } }
		 public static string Message_AnnuleringGeslaagd { get { return "<p>De boeking is succesvol geannuleerd</p>"; } }
		 public static string Message_FoutBijAnnulering { get { return "<p>Er is iets fout gegaan bij het annuleren van de reis, probeer het later opnieuw</p>"; } }
		 public static string Message_WachtwoordGewijzigd { get { return "<p>Uw wachtwoord is gewijzigd</p>"; } }
		 public static string Message_WachtwoordWijzigenFout { get { return "<p>Er is iets fout gegaan bij het wijzigen van uw wachtwoord.</p>"; } }
		 public static string Message_RegistratieGeslaagd { get { return "<p>De registratie is geslaagd.</p>"; } }
		 public static string Message_RegistratieMislukt { get { return "<p>Er is iets fout gegaan bij de registratie.</p>"; } }
		 public static string Message_GegevensWijzigenGeslaagd { get { return "<p>Uw gegevens zijn gewijzigd.</p>"; } }
		 public static string Message_GegevensWijzigenMislukt { get { return "<p>Er is iets fout gegaan bij het wijzigen van uw gegevens.</p>"; } }
     public static string Message_LoginTimeOut { get { return "Er is meer dan 5x een fout wachtwoord ingevoerd, u kunt over 5 minuten weer inloggen"; } }
     // Error page messages
		 public static string Message_Error404 { get { return "<h3>Error 404</h3><p>De door jou opgevraagde pagina is op dit moment helaas niet beschikbaar.</p><p>Dit kan betekenen dat:</p><ol><li>De pagina niet bestaat,</li><li>Je een typefout hebt gemaakt,</li><li>De pagina tijdelijk niet kan worden opgevraagd.</li></ol><p>De oplossingen:</p><ul><li>Controleer het webadres. Zit er een typefout in? Type het adres opnieuw.</li><li>Klopt het adres? Klik dan op de reload/vernieuwen button van je internetbrowser.</li><li>Stap 1 en 2 werken niet. Ga terug naar de homepage</li></ul>"; } }
     public static string Message_Error500 { get { return "<h3>Error 500</h3><p>De door jou opgevraagde pagina is op dit moment helaas niet beschikbaar.</p><p>U kunt het later opnieuw proberen om te kijken of het probleem is verholpen</p><p>Als de problemen zich blijven voordoen neem dan contact op met <a href=\"mailto:info@inhollandair.nl\">InhollandAir</a></p>"; } }
     public static string Message_Error403 { get { return "<h3>Error 403</h3><p>U heeft geen toegang tot deze pagina.</p><p>Mocht u niet zijn ingelogd, log dan in en probeer het opnieuw.</p>"; } }
     public static string Message_ErrorGeneric { get { return "<h3>Oeps!</h3><p>Er is iets fout gegaan, probeer het later nog eens!</p>"; } }
   
     // SQL messages
     public static string Message_SQLErrorAlgemeen { get { return "Er is iets fout gegaan, probeer het later opnieuw"; } }
   }
  
  public class Message {
    /* Bouwt een DIV met een errorbericht etc.*/
    public static LiteralControl ShowMessage(string aMessage, MessageType AMessageType) {
      StringWriter stringWriter = new StringWriter();
      using (HtmlTextWriter writer = new HtmlTextWriter(stringWriter)) {
        switch(AMessageType){ // Selecteer de juiste MessageType (voor de opmaak van de span)
          case MessageType.MessageType_Alert: 
                writer.AddAttribute(HtmlTextWriterAttribute.Class, "message_alert");
                break;
          case MessageType.MessageType_Error:
                writer.AddAttribute(HtmlTextWriterAttribute.Class, "message_error");
                break;
          case MessageType.MessageType_Success:
                writer.AddAttribute(HtmlTextWriterAttribute.Class, "message_success");
                break;
          default:
          case MessageType.MessageType_Unknown:
                writer.AddAttribute(HtmlTextWriterAttribute.Class, "message_unknown");
                break;
        }
				// Span messagebox opbouwen
        writer.RenderBeginTag(HtmlTextWriterTag.Span);
        writer.Write(aMessage);
        writer.RenderEndTag();
        return new LiteralControl(writer.InnerWriter.ToString());
      }
    }
  }



}